#include <QApplication>
#include <QGraphicsScene>
#include <QGraphicsView>
#include <QGraphicsRectItem>
#include <QDebug>
#include "myitem.h"
#include "myview.h"



/*
图形视图框架的特点：
    1.能够对图像进行统一的管理，缩放，旋转等功能
    2.包含对事件传递，键盘事件，鼠标事件
    3.一个图形视图框架能够显示一个巨大的场景，能够包含上百万的图元
    4.改善绘图的性能

主要包含三个部分：
    1.场景：QGraphicsScene
             场景分为三层：
                    1.图形顶层（图元）
                    2.前景层
                    3.背景层
                 渲染顺序：背景层 ->    图形顶层->    前景（最上面）

    2.视图：QGraphicsView

    3.图形项（图元）：QGraphicsRectItem


    想要发挥图形视图的优势，就需要我们自己去做图形项；自己写的图形项类里可以画自己想要的任何东西，qt平台自带的图形项有局限性；

 */


int main(int argc,char** argv)
{
    QApplication app(argc,argv);


    //新建一个场景：
    QGraphicsScene scene;
    //创建图形项加入到场景界面：
    //QGraphicsRectItem* item = new QGraphicsRectItem(0,0,100,100);
    //scene.addItem(item);

   // qDebug()<<scene.itemAt(50,50,QTransform());

    //自定义图形项：
    MyItem* item = new MyItem;
    scene.addItem(item);


    //为场景创建视图：
    //QGraphicsView view(&scene);

    //自定义视图项：
    myView view(&scene);


    //view.setBackgroundBrush(QColor(0,255,0));       //背景颜色画刷
    //view.setForegroundBrush(QColor(255,0,0));        //前景颜色画刷

    view.resize(400,400);
    view.show();






    return app.exec();
}
